/*
 * test_framework_util_staticsingleton.h
 *
 *  Created on: 2014. 6. 19.
 *      Author: jjaehuny
 */

#ifndef TDD_NFRAMEWORK_TEST_FRAMEWORK_UTIL_STATICSINGLETON_H_
#define TDD_NFRAMEWORK_TEST_FRAMEWORK_UTIL_STATICSINGLETON_H_

#include <gtest/gtest.h>

#include <Framework/Util/StaticSingleton.h>

class test_framework_util_staticsingleton : public testing::Test
{
public:
	class Dummy : public ::Framework::Util::StaticSingleton<Dummy>
	{
	public:
		Dummy() {}
		~Dummy() {}
	};

public:
	// Sets up the test fixture.
	virtual void SetUp() {}

	// Tears down the test fixture.
	virtual void TearDown() {}
};

TEST_F(test_framework_util_staticsingleton, test_framework_util_staticsingleton_fail)
{
	EXPECT_TRUE(NULL == Dummy::InstancePtr());
}

TEST_F(test_framework_util_staticsingleton, test_framework_util_staticsingleton_success)
{
	Dummy clsDummy;
	EXPECT_TRUE(NULL != Dummy::InstancePtr());
}

#endif /* TDD_NFRAMEWORK_TEST_FRAMEWORK_UTIL_STATICSINGLETON_H_ */
